Methods and Systems for Detecting and Assigning Attributes to Objects of Interest in Geospatial Imagery

ABSTRACT

Exemplary systems and methods perform post-processing operations on computer vision model detections of objects of interest in geospatial imagery to detect and assign attributes to the detected objects of interest. For example, an exemplary post-processing system correlates multiple detections, made by a computer vision model, of an object of interest depicted within a set of images of a geospatial location, determines, based on the correlated detections, an attribute of the object of interest depicted within the set of images of the geospatial location, and selects the attribute for inclusion in a dataset for the object of interest. Corresponding methods and systems are also disclosed.

BACKGROUND INFORMATION

Computer vision technologies are useful for identifying objects ofinterest depicted in geospatial imagery such as satellite, street-level,and community-sourced images of real-world geospatial locations.However, state-of-the-art computer vision technologies are notcompletely accurate in identifying objects of interest, which introducesa level of error and uncertainty that is difficult to correct. Forexample, state-of-the-art computer vision technologies mis-identify someobjects as objects of interest (i.e., false positive identifications),fail to identify some actual objects of interest (i.e., false negativeidentifications), mis-identify boundaries of detected objects ofinterest, and/or mis-identify attributes of detected objects ofinterest.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate various embodiments and are a partof the specification. The illustrated embodiments are merely examplesand do not limit the scope of the disclosure. Throughout the drawings,identical or similar reference numbers designate identical or similarelements.

FIG. 1 illustrates an exemplary geospatial image processing systemaccording to principles described herein.

FIG. 2 illustrates an exemplary post-processing system according toprinciples described herein.

FIG. 3 illustrates an example of correlating detections of an object ofinterest according to principles described herein.

FIG. 4 illustrates an example of comparing sizes of an object ofinterest across correlated detections of the object of interestaccording to principles described herein.

FIG. 5 illustrates an exemplary user interface map view showing ageospatial intersection of a detected object of interest according toprinciples described herein.

FIG. 6 illustrates an exemplary user interface map view showingattributes for a detected object of interest according to principlesdescribed herein.

FIG. 7 illustrates an exemplary method for detecting and assigningattributes to objects of interest in geospatial imagery according toprinciples described herein.

FIG. 8 illustrates another exemplary method for detecting and assigningattributes to objects of interest in geospatial imagery according toprinciples described herein.

FIG. 9 illustrates an exemplary computing device according to principlesdescribed herein.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Methods and systems for detecting and assigning attributes to objects ofinterest in geospatial imagery are described herein. For example, apost-processing system may perform one or more post-processingoperations on outputs from one or more computer vision models to detectand assign attributes to objects of interest depicted in geospatialimagery. As one example, the post-processing system may correlate, basedon geospatial data associated with a set of images of a geospatiallocation, multiple detections, made by a computer vision model, of anobject of interest depicted within the set of images of the geospatiallocation. Based on the correlated detections, the post-processing systemmay determine an attribute of the object of interest depicted within theset of images of the geospatial location and select the determinedattribute of the object of interest for inclusion in a dataset for theobject of interest.

Methods and systems described herein for detecting and assigningattributes to objects of interest in geospatial imagery provide variousadvantages, benefits, and improvements in comparison to conventionalcomputer vision models. In particular, by performing one or morepost-processing operations on outputs of a computer vision model asdescribed herein, a post-processing system may detect and assignattributes to an object of interest in a manner that filters out falsedetections and/or verifies true detections. The post-processingoperation(s) may filter out false detections by correlating multipledetections of the object of interest across a set of images and usingthe correlated detections to identify anomalous attributes and/ordetections indicative of potentially false or inconsistent detections ofthe object of interest. The post-processing operation(s) may verify truedetections by associating consistent detections across the set ofimages. For example, a positive detection of the object of interest inone image may be associated with other positive detections of the objectof interest in other images to identify consistencies indicative ofpotentially true detections of the object of interest. In this or asimilar manner, methods and systems described herein may utilize one ormore post-processing operations described herein to improve the accuracyof determined attributes of object of interests depicted in geospatialimagery.

Various embodiments will now be described in more detail with referenceto the figures. The disclosed systems and methods may provide one ormore of the benefits mentioned above and/or various additional and/oralternative benefits that will be made apparent herein.

FIG. 1 illustrates an exemplary geospatial image processing system 100(“system 100”). As shown, system 100 may include, without limitation, amodel training facility 102, a model prediction facility 104, apost-processing facility 106, a user interface facility 108, and astorage facility 110 selectively and communicatively coupled to oneanother. It will be recognized that although facilities 102 through 110are shown to be separate facilities in FIG. 1, facilities 102 through110 may be combined into fewer facilities, such as into a singlefacility, or divided into more facilities as may serve a particularimplementation. In some examples, facilities 102 through 110 may bedistributed between multiple devices and/or multiple locations as mayserve a particular implementation. Additionally, one or more offacilities 102 through 110 may be omitted from system 100 in certainimplementations, while additional facilities may be included withinsystem 100 in the same or other implementations.

Each of facilities 102 through 110 may include or be implemented by oneor more physical computing devices such as hardware and/or softwarecomponents (e.g., processors, memories, communication interfaces,instructions stored in memory for execution by the processors, etc.).For instance, the facilities may be implemented using separate computingcomponents unique to each facility or may be implemented using sharedcomputing components. Each of facilities 102 through 110 will now bedescribed in more detail.

Storage facility 110 may store and maintain any data used by facilities102 through 108 (and/or any other facilities included within system 100not explicitly shown) to perform any of the operations described herein.For example, storage facility 110 may include program instructions forperforming the operations described herein, as well as data received,generated, managed, maintained, used, and/or transmitted by facilities102 through 108 as may serve a particular implementation. In someexamples, for instance, storage facility 110 may include datarepresentative of a computer vision model 112, image data 114representing a set of images, and metadata 116 associated with theimages.

Computer vision model 112 may include any type or implementation of amachine learning computer vision model for detecting one or more objectsof interest in geospatial imagery. For instance, the computer visionmodel may include a neural network having an input layer, any suitablenumber of hidden layers, and an output layer. The neural network may bea convolutional neural network, a residual convolutional neural network,or any other suitable neural network. In other implementations, computervision model 112 may include any other suitable machine learning modelconfigured or configurable to detect one or more objects of interest ingeospatial imagery.

Computer vision model 112 may be trained to detect depictions of anysuitable object or objects of interest in geospatial imagery. Examplesof such objects of interest include, but are not limited to, trafficlights, street signs, crosswalks, buildings, trees, vehicle parkingspaces, parking meters, business signs, building addresses, doorways,handicap ramps, billboards, and poles (e.g., street-lamp poles, utilitypoles, decorative poles, etc.).

Image data 114 may represent geospatial imagery, which may include oneor more images of a real-world geospatial location. A real-worldgeospatial location may include any real-world space associated with ageographic location. Images of the geospatial location may includesatellite view images, street-level images, and/or any other image viewsof the geospatial location. For example, a set of images of a geospatiallocation may include one or more satellite images of the geospatiallocation and/or one or more street-level images of the geospatiallocation. A set of street-level images of the geospatial location mayinclude images captured from different camera viewpoints relative to thegeospatial location (e.g., different camera viewpoints having differentcamera locations and/or orientations).

Metadata 116 may include any information associated with geospatialimagery represented by image data 114. For example, metadata 116 mayspecify information about camera location and orientation from whichgeospatial imagery is captured and/or information about times at whichgeospatial imagery is captured. Metadata 116 may further includeinformation descriptive of computer vision model detections of objectsof interest in geospatial imagery, such as information specifying pixellocations of detections in images, geospatial positions of detections,confidence levels of detections, attributes of detected objects ofinterest (e.g., height, width, distance from camera, material ofcomposition, classification, etc. for a detected object of interest),and/or any other information associated with detected objects ofinterest. Metadata 116 may further include data representative of usertags associated with images, such as tags applied to images for trainingand/or validating computer vision model 112. Metadata 116 may furtherinclude data representative of user validations of computer vision modeldetections of objects of interest in geospatial imagery.

Information included in metadata 116 that indicates geospatialinformation about geospatial imagery, such as geospatial informationabout an image, a camera that captured an image (e.g., a geospatialposition, orientation, and/or other properties of the camera when thecamera captured the image), and a detection of an object of interest inan image (e.g., a pixel position or geospatial position of thedetection), may be referred to as geospatial data for the geospatialimagery. Geospatial data for the geospatial imagery may also includeinformation about geospatial imagery from which geospatial informationabout the geospatial imagery may be derived.

Model training facility 102 may be configured to train a computer visionmodel, such as computer vision model 112, to detect depictions of anobject of interest in geospatial imagery. For example, model trainingfacility 102 may execute a training session to train a computer visionmodel capable of machine learning. The training session may be performedin any suitable way, including by model training facility 102 submittingone or more sets of training images to the computer vision model forsupervised machine learning by the computer vision model, such that thecomputer vision model learns to detect one or more objects of interestdepicted in geospatial imagery. To illustrate, model training facility102 may submit, to the computer vision model, a set of geospatial imagesin which depictions of an object of interest such as a traffic lighthave been tagged. The computer vision model may use the set ofgeospatial images to learn features associated with tagged depictions ofobjects and to configure the computer vision model to detect suchfeatures in order to identify traffic lights in other geospatialimagery.

Model training facility 102 may be configured to train a machinelearning computer vision model in any suitable way. For example, modeltraining facility 102 may train the computer vision model starting fromscratch using tagged training images and/or may further train thecomputer vision model using additional training images. In someexamples, transfer learning may be used to train the computer visionmodel such as by initially training the model on a public dataset andthen performing further training on annotated geospatial imagery thatmatches or is similar to geospatial imagery that the model will be usedon.

Model prediction facility 104 may be configured to execute runtimeoperation of a computer vision model, such as computer vision model 112,to detect depictions of an object of interest in geospatial imagery. Forexample, model prediction facility 102 may submit a set of geospatialimages to the computer vision model, which may process the geospatialimages to detect depictions of the object on interest in the geospatialimages. If the computer vision model has been trained to detectdepictions of traffic lights, for instance, the computer vision modelmay process the set of geospatial images to detect depictions of trafficlights in the images. The computer vision model may detect objects ofinterest depicted in the geospatial images in any suitable way and usingany suitable form of geospatial images as input to the computer visionmodel. For example, the set of geospatial images submitted to thecomputer vision model may include full images or portions of images thathave been identified, by a pre-processing operation, as segments ofimages that are of interest (e.g., slices of images that may includeobjects of interest). In other examples, the input to the computervision model may be in other suitable forms, such as feature vectorsindicating features of geospatial images or portions of geospatialimages.

The computer vision model may output data representative of detectionsof objects of interest depicted in the geospatial images. The output maybe in any suitable form, including candidate detections and confidencescores respectively associated with the candidate detections. The outputmay indicate one or more attributes of the detected objects of interest,such as sizes (e.g., heights and/or widths), classes (e.g., streetlights, poles, etc.), and/or materials of composition (e.g., wood,metal, etc.) of the detected objects of interest.

Post-processing facility 106 may be configured to perform one or morepost-processing operations on the outputs of the computer vision modelto detect and assign attributes to objects of interest detected by thecomputer vision model, which post-processing operations may includefiltering out false detections and/or verifying true detections. Forexample, post-processing facility 106 may correlate multiple detections,made by the computer vision model, of an object of interest depictedwithin a set of images of a geospatial location and use the correlateddetections to determine an attribute of the object of interest depictedwithin the set of images of the geospatial location and select theattribute for inclusion in a dataset for the object of interest.Examples of post-processing operations that may be performed bypost-processing facility 106 are described in detail herein.

User interface facility 108 may be configured to provide a userinterface configured to facilitate training and/or validating a computervision model such as computer vision model 112. The user interface maybe accessible by way of a user computing device such that a user of theuser computing device may interact with system 100 by way of the userinterface. The interactions may include the user receiving userinterface content and providing user input that may be used by system100 to train and/or validate the computer vision model. To this end,user interface facility 108 may generate user interface content forpresentation in the user interface, such as user interface contentconfigured to be displayed in one or more graphical user interface viewsof the user interface. User interface facility 108 may further provideone or more user interface tools configured to facilitate reception ofuser input for training and/or validating the computer vision model.

After the computer vision model has been trained, model predictionfacility 104 may execute runtime operation of the trained computervision model to detect depictions of an object of interest in geospatialimagery. For example, model prediction facility 104 may submitgeospatial imagery to the trained computer vision model, which mayprocess the geospatial imagery to detect depictions of the object ofinterest in the geospatial imagery. In this or a similar manner, modelprediction facility 104 may provide detections of one or more objects ofinterest in geospatial imagery of a geospatial location.

Post-processing facility 106 may receive and process detections of oneor more objects of interest provided by model prediction facility 104.The processing may include post-processing facility 106 correlatingmultiple detections of an object of interest and using the correlateddetections to determine and assign one or more attributes for thedetected object of interest.

FIG. 2 illustrates an exemplary post-processing system 200. In certainexamples, post-processing system 200 may be implemented aspost-processing facility 106 in system 100. As shown, post-processingsystem 200 may include, without limitation, a correlation facility 202,an attribute determination facility 204, and an assignment facility 206selectively and communicatively coupled to one another. It will berecognized that although facilities 202 through 206 are shown to beseparate facilities in FIG. 2, facilities 202 through 206 may becombined into fewer facilities, such as into a single facility, ordivided into more facilities as may serve a particular implementation.In some examples, facilities 202 through 206 may be distributed betweenmultiple devices and/or multiple locations as may serve a particularimplementation. Additionally, one or more of facilities 202 through 206may be omitted from post-processing system 200 in certainimplementations, while additional facilities may be included withinpost-processing system 200 in the same or other implementations.

Each of the facilities 202 through 206 may include or be implemented byone or more physical computing devices such as hardware and/or softwarecomponents (e.g., processors, memories, communication interfaces,instructions stored in memory for execution by the processors, etc.).For instance, the facilities may be implemented using separate computingcomponents unique to each facility or may be implemented using sharedcomputing components. Each of the facilities 202 through 206 will now bedescribed in more detail.

Correlation facility 202 may be configured to perform one or morepost-processing operations to correlate, across multiple geospatialimages of a geospatial location, detections of an object of interestmade by a computer vision model in the geospatial images of thegeospatial location. The correlation may include correlation facility202 identifying detections of potentially the same instance of an objectof interest in the geospatial images of the geospatial location. Forexample, correlation facility 202 may use geospatial data associatedwith the geospatial images of the geospatial location to identifymultiple detections that intersect at a geospatial intersection. Incertain examples, correlation facility 202 may identify multipledetections that intersect at a geospatial intersection by performing oneor more triangulation operations to determine that the geospatialintersection corresponds to each of the multiple detections. Correlationfacility 202 may select the identified multiple detections for inclusionin a correlated set of detections based on the multiple detectionsintersecting at the same geospatial intersection. Such a correlated setof detections may be referred to as “correlated detections” or “a set ofcorrelated detections.”

An example of correlation facility 202 correlating multiple detectionsof an object of interest will now be described with reference to FIG. 3.In FIG. 3, a map view 300 of a geospatial location illustratesgeospatial relationships between computer vision model detections ofobjects of interest in geospatial images. Also, in FIG. 3, geospatialimages 302 (e.g., images 302-1, 302-3, and 302-3) represent a set ofstreet-level images of a geospatial location captured from differentrespective camera positions 304 (e.g., camera positions 304-1, 304-2,and 304-3), which camera positions 304 are indicated on map view 300. Inthe illustrated example, geospatial image 302-1 is captured from cameraposition 304-1, geospatial image 302-2 is captured from camera position304-2, and geospatial image 302-3 is captured from camera position304-3. In FIG. 3, camera positions 304 are indicated relative to mapview 300 and therefore may represent map positions.

Detection boxes 306 (e.g., detection boxes 306-1, 306-2-1, 306-2-2, and306-3) represent detections of objects of interest made by a computervision model in images 302. Specifically, detection box 306-1 representsa detection of an object of interest in image 302-1, detection boxes306-2-1 and 306-2-2 represent detections of objects of interest in image302-2, and detection box 306-3 represents a detection of an object ofinterest in image 302-3. Detection boxes 306 may be bounding boxes orany other markers generated by the computer vision model to indicatepositions of detected objects of interest in images 302.

Icons 308 (e.g., icons 308-1, 308-2-1, 308-2-2, and 308-3) represent,within map view 300, the detections represented by detection boxes 306shown in images 302. Specifically, triangle icon 308-1 represents thedetection represented by detection box 306-1, square icons 308-2-1 and308-2-2 represent the detections represented by detection boxes 306-2-1and 306-202, respectively, and circle icon 308-3 represents thedetection represented by detection box 306-3. In FIG. 3, icons 308 arepositioned relative to map view 300 and therefore may represent mappedgeospatial positions of detections 306.

As mentioned, correlation facility 202 may perform one or moretriangulation operations to determine an intersection of detections ofan object of interest. For example, correlation facility 202 mayidentify, from geospatial data associated with images 302 (e.g.,geospatial data included in metadata for images 302), geospatialpositions of camera positions 304 (e.g., latitude and longitudecoordinates of camera positions 304). Correlation facility 202 may alsoaccess and use the horizontal range of pixels within each detection box306 to determine a horizontal center for each detection box 306.Correlation facility 202 may translate the horizontal center for eachdetection box 306 from pixel or image coordinates to geospatialcoordinates and then draw, for each detection box 306, a line thatintersects the horizontal center of the detection box 306 and the cameraposition 304 from which the image associated with the detection box 306is captured. Such lines may be referred to as “orientation lines.” FIG.3 illustrates orientation lines 310 drawn to connect the horizontalcenter of each detection box 306 (translated to geospatial coordinateson map view 300) with the respective camera position 304 from which theimage in which the detection is made was captured. Specifically,orientation line 310-1 connects camera position 304-1 with icon 308-1that represents a detection indicated by detection box 306-1,orientation line 310-2-1 connects camera position 304-2 with icon308-2-1 that represents a detection indicated detection box 306-2-1,orientation line 310-2-2 connects camera position 304-2 with icon308-2-2 that represents a detection indicated by detection box 306-2-2,and orientation line 310-3 connects camera position 304-3 with icon308-3 that represents a detection indicated by detection box 306-3.

Correlation facility 202 may use orientation lines 310 to determineintersections of detections of objects of interest. For example,correlation facility 202 may determine geospatial positions at whichorientation lines 310 intersect and select a determined intersection oforientation lines 310 to represent an intersection of detections of anobject of interest that are associated with orientation lines 310. Toillustrate, correlation facility 202 may, through triangulationoperations and/or in any other suitable way, determine that orientationlines 310-2-2 and 310-3 intersect and identify the intersection oforientation lines 310-2-2 and 310-3 as an intersection of detectionsassociated with orientation lines 310-2-2 and 310-3, which in theillustrated example includes detections represented by detection boxes306-2-2 and 306-3 in images 302-2 and 302-3, respectively. FIG. 3illustrates, within map view 300, a determined intersection 312 oforientation lines 310-2-2 and 310-3.

Correlation facility 202 may define detections that share a commonintersection to be a set of correlated detections for an object ofinterest. For example, based on the determination that detectionsrepresented by detection boxes 306-2-2 and 306-3 (and by icons 308-2-2and 308-3) intersect at intersection 312, as described above,correlation facility 202 may group the detections into a set ofcorrelated detections because the detections appear to be of an objectof interest located at a common geospatial position. In theabove-described manner, or in any other suitable manner, correlationfacility 202 may determine, from geospatial data associated withgeospatial images and/or detections made by a computer vision model inthe geospatial images, a set of correlated detections of an object ofinterest.

For illustrative purposes, FIG. 3 shows a simplified example ofcorrelation of detections of an object of interest. In other examples,correlation facility 202 may perform correlation operations on largenumbers of detections of objects of interest that have been generated byone or more computer vision models from geospatial imagery. Suchoperations on large numbers of detections may be computationallyintensive. To help reduce the demands of such operations, in certainexamples, correlation facility 202 may be configured to perform one ormore filtering operations to filter detections generated by a computervision model before correlating the detections. This may allowcorrelation facility 202 to perform correlation operations on a subsetof the detections output by the computer vision model. Such filteringoperations may include filtering detections based on confidence levelsof the detections and/or estimated widths or distances of detectionsfrom corresponding cameras. Examples of such pre-correlation filteringoperations are described herein.

Returning to FIG. 2, attribute determination facility 204 may beconfigured to use correlated detections of an object of interest todetermine one or more attributes of the detected object of interest. Thedetermination of the one or more attributes may include attributedetermination facility 204 performing one or more consistency checks onthe correlated detections of the object of interest to identifyconsistencies and/or inconsistencies across the correlated detectionsand using the identified consistencies and/or inconsistencies todetermine one or more attributes of the object of interest. For example,attribute determination facility 204 may use metadata for the detectionsto check for consistencies across the correlated detections to verify(e.g., corroborate) potentially true detections and/or to check forinconsistencies across the correlated detections to identify and act on(e.g., filter out) potentially false detections. Examples of consistencychecks that may be performed by attribute determination facility 204will now be described.

In certain examples, attribute determination facility 204 may perform asize consistency check to identify consistencies and/or inconsistenciesin sizes of an object of interested as represented by correlateddetections of the object of interest. Attribute determination facility204 may use identified consistencies to verify true detections and/oridentified inconsistencies to identify false detections, which may thenbe used by attribute determination facility 204 to determine a sizeattribute for the detected object of interest.

An example of attribute determination facility 204 comparing sizes of anobject of interest between correlated detections will now be describedwith reference to FIG. 4. In FIG. 4, a set 400 of images depicting anobject of interest includes multiple images 402 (e.g., images 402-1,402-2, 402-3, and 402-4) including detection boxes 404 (e.g., detectionboxes 404-1, 404-2, 404-3, and 404-4) that represent detections ofobjects of interest. Specifically, detection box 404-1 represents adetection of an object of interest in image 402-1, detection box 404-2represents a detection of an object of interest in image 402-2,detection box 404-3 represents a detection of an object of interest inimage 402-3, and detection box 404-4 represents a detection of an objectof interest in image 402-4. Each of the detection boxes 404 includes awidth 406 (e.g., width 406-1 of detection box 404-1, width 406-2 ofdetection box 404-2, and so on) and a height 408 (e.g., height 408-1 ofdetection box 404-1, height 408-2 of detection box 404-2, and so on).Each of the detection boxes 404 is also associated with a distance 410that the respective detection box 404 is from a camera position 412(e.g., a distance 410-1 from detection box 404-1 to camera 412-1, adistance 410-2 from detection box 404-2 to camera 412-2, and so on).

Widths 406 (e.g., widths 406-1, 406-2, 406-3, and 406-4) may representone dimension of a size of the detection boxes 404 determined by acomputer vision model (e.g., computer vision model 112 as previouslydescribed). Specifically, width 406-1 represents a width of detectionbox 404-1, width 406-2 represents a width of detection box 404-2, width406-3 represents a width of detection box 404-3, and width 406-4represents a width of detection box 404-4. Similarly, heights 408 (e.g.,heights 408-1, 408-2, 408-3, and 408-4) may represent another dimensionof a size of the detection boxes determined by the computer visionmodel. Specifically, height 408-1 represents a height of detection box404-1, height 408-2 represents a height of detection box 404-2, height408-3 represents a height of detection box 404-3, and height 408-4represents a height of detection box 404-4.

Distances 410 (e.g., distances 410-1, 410-2, 410-3, and 410-4) may eachrepresent a distance of a detection box 404 from a camera 412 thatcaptured the respective image that includes the detection box 404.Specifically, distance 410-1 represents a distance of detection box404-1 from a camera 412-1, distance 410-2 represents a distance ofdetection box 404-2 from a camera 412-2, distance 410-3 represents adistance of detection box 404-3 from a camera 412-3, and distance 410-4represents a distance of detection box 404-4 from a camera 412-4.

A distance from a camera 412 to a detection box 404 may be determinedand/or represented in any suitable way, including any way in which animage position of the detection box 404 within an image 402 istranslated to a geospatial position that may be used to determine adistance from the geospatial position associated with the detection box404 to a geospatial position of the camera 412. In certain examples, thedistance may be included in or be derivable from metadata for the image402. Attribute determination facility 204 may utilize metadata for acorrelated set of detections (e.g., detections represented by detectionboxes 404) and/or images 402, including any distance and/or otherinformation specified by the metadata, to determine consistencies orinconsistencies between sizes of the object of interest in each of thedetections.

In order to compare sizes of detected objects of interest represented bydetection boxes 404, attribute determination facility 204 may calculatea size of the object of interest represented by each detection box 404based on any suitable combination of width 406, height 408, and distance410 of the detection box 404. For example, attribute determinationfacility 204 may calculate the size of a detected object of interestbased on width 406 and distance 410 of a detection box 404, based onheight 408 and distance 410 of a detection box 404, or based on width406, height 408, and distance 410 of a detection box 404. Thecalculation of the size of the object of interest may be performed inany suitable way, based on such combinations of distance 410, width 406and/or height 408 of a detection box 404. For example, attributedetermination facility 204 may calculate the size of a detected objectof interest by utilizing triangulation techniques to calculate anestimated size of an object of interest based on a distance 410 and on awidth 406 and/or a height 408 of a detection box 404 that represents thedetected object of interest. In another example, attribute determinationfacility 204 may translate pixels associated with a detection box 404 ofan image 402 to a corresponding size (e.g., an estimated width andheight) of the object of interest. Any other way of calculating anestimated size of a detected object of interest based on a width 406, aheight 408, a distance 410, and/or any other information associated withan image 402 (e.g., information associate with a capture of the image402) or the detection of the object of interest in the image 402 may beused as may suit a particular implementation.

Attribute determination facility 204 may compare the calculated sizes ofthe detected objects of interest represented by detection boxes 404 tocheck for consistencies or inconsistencies between detections in thecorrelated set of detections. Examples of attribute determinationfacility 204 using the identified object size consistencies and/orinconsistencies to determine attributes of an object of interest aredescribed herein.

Returning to FIG. 2, attribute determination facility 204 may performadditional or alternative consistency checks on correlated detections.In an example, attribute determination facility 204 may determinewhether a determined intersection for correlated detections of an objectof interest is consistent with data from one or more external sources.Attribute determination facility 204 may compare the correlateddetections to data from the external sources in any suitable manner. Forexample, attribute determination facility 204 may compare the determinedintersection with information from one or more external sources to checkfor consistency or inconsistency between the various detections and theexternal sources.

An example of attribute determination facility 204 comparing metadata ofcorrelated detections with data from external sources will now bedescribed with reference to FIG. 5. In FIG. 5, a map view 500 of ageospatial location illustrates a visual representation of data from oneor more external data sources, which may include one or more mapdatabases. As shown, the map view 500 includes visual representations ofbuilding footprints 502 and roadways 504 that may be received from theexternal data sources. Map view 500 further includes a visualrepresentation of detected object of interest 506 positioned at adetermined intersection 508 of multiple correlated detections. Multipleorientation lines 510 extending from camera locations 512 andintersecting at intersection 508 are shown in map view 500 and mayrepresent the use of orientation lines to determine intersection 508.

Attribute determination facility 204 may compare a geospatial positionof the determined intersection 508 to geospatial positions of buildingfootprints 502 and/or roadways 504 represented in data from externalsources to check whether correlated detections are consistent with thedata from the external sources. In an example, attribute determinationfacility 204 may perform this consistency check by determining whetherthe determined intersection 508 of the object of interest 506 is at anexpected or unexpected geospatial position relative to the geospatialpositions of building footprints 502 and/or roadways 504. For example,in examples in which the object of interest 506 is an object (e.g., atraffic light, a light pole, a sign, or the like) that should be locatedat a position outside of building footprint 502 and/or roadway 504,attribute determination facility 204 may determine whether thegeospatial position of the intersection 508 of the correlated detectionsis outside of building footprints 502 and/or roadways 504 as expected.If the geospatial position of the intersection 508 of the correlateddetections is located outside of building footprints 502 and/or roadways504 as expected, attribute determination facility 204 may determine thatthe intersection 508 is consistent with external data. If the geospatialposition of the intersection 508 of the correlated detections is locatedwithin any of building footprints 502 and/or roadways 504, attributedetermination facility 204 may determine that the intersection 508 isinconsistent with external data. Attribute determination facility 204may determine that detections consistent with the data from the externalsources are true detections and detections inconsistent with the datafrom the external sources are false detections.

Returning to FIG. 2, attribute determination facility 204 may performadditional or alternative consistency checks on correlated detections.For example, attribute determination facility 204 may compare determinedclasses of detected objects of interest across correlated detections toidentify consistencies and/or inconsistencies. Attribute determinationfacility 204 may determine that detections having the same assignedclass are consistent in class and may be true detections. Additionallyor alternatively, attribute determination facility 204 may determinethat a detection having a different assigned class from other detectionsis inconsistent and may be a false detection.

Attribute determination facility 204 may determine a reasonability ofcorrelated detections as an additional or alternative consistency check.In an example, the reasonability of the correlated detections may bebased on detected attributes of the object of interest in the correlateddetections. Attribute determination facility 204 may compare anydetected attribute, or a combination of detected attributes, of anobject of interest in a detection to a predefined reasonability test.Attribute determination facility 204 may determine consistencies orinconsistencies of a detection based on whether the attribute orattributes of the object of interest in the detection satisfy thereasonability test.

To illustrate, attribute determination facility 204 may compare twoattributes (e.g., a class and a height) of an object of interest in adetection to determine whether the attributes satisfy a reasonabilitytest. For example, a reasonability test may determine whether a heightof an object of interest having a particular class (e.g., a pole) iswithin a range of expected heights (e.g., two meters to ten meters) forthe class. If the height of the object of interest falls within therange of heights, attribute determination facility 204 may determinethat the attributes satisfy the reasonability test, thus resulting in aconsistent or true detection. Conversely, if the height of the object ofinterest does not fall within the range of heights, attributedetermination facility 204 may determine that the attributes of theobject of interest do not satisfy the reasonability test, thus resultingin an inconsistent or false detection.

In certain examples, attribute determination facility 204 may base aconsistency and/or an inconsistency determination for correlateddetections on a number of consistent detections of the object ofinterest. In an example, attribute determination facility 204 maydetermine consistency or inconsistency for correlated detections basedon whether the number of consistent detections included in thecorrelated detections includes a critical mass of consistent detections,which may be a defined threshold number of consistent detections. Thethreshold number of consistent detections may be defined as may suit aparticular implementation and/or geospatial location. For example, thethreshold number of consistent detections for a rural geospatiallocation may be one amount (e.g., 3), and the threshold number ofconsistent detections for an urban setting may be another amount (e.g.,10). Thus, in certain examples, attribute determination facility 204 mayidentify detections as consistent if the number of detections satisfiesthe threshold number, and as inconsistent if the number of detectionsdoes not satisfy the threshold number.

In certain examples, attribute determination facility 204 may determinewhether to consider a set of correlated detections for furtherprocessing, such as consistency checks and attribute determinations,based on whether a number of detections in the set satisfies a definedcritical mass, which may be a defined threshold number of detections.The threshold number of correlated detections may be defined as may suita particular implementation and/or geospatial location. For example, thethreshold number of correlated detections for a rural geospatiallocation may be one amount (e.g., 5), and the threshold number ofcorrelated detections for an urban setting may be another amount (e.g.,15). Attribute determination facility 204 may identify correlateddetections as inconsistent if the number of correlated detections doesnot satisfy the threshold number of correlated detections. If the numberof correlated detections satisfies the threshold number of correlateddetections, attribute determination facility 204 may subject thecorrelated detections to one or more consistency checks, such as any ofthose described herein.

Attribute determination facility 204 may utilize consistent and/orinconsistent detections determined in one or more of the consistencychecks described above to determine one or more attributes for an objectof interest represented by correlated detections. In an example,attribute determination facility 204 may determine the attributes forthe object of interest based on attributes of consistent detections, andnot based on attributes of inconsistent detections. For example,attribute determination facility 204 may filter out inconsistentdetections before one or more attributes for the object of interest aredetermined.

In certain examples, attribute determination facility 204 may beconfigured to filter out detections as inconsistent detections only whenthe detections have been identified as inconsistent in a specific,defined way (e.g., inconsistent in size or class, for example) or asinconsistent at least a defined threshold number of times or in at leasta defined threshold number of ways (e.g., in at least two differentways, such as in both size and class). In an example, attributes of adetection may be utilized in determining attributes for the object ofinterest if the detection was determined to be inconsistent by oneconsistency check but determined to be consistent by multiple otherconsistency checks.

In certain examples, attribute determination facility 204 may generatescores (e.g., confidence or consistency scores) for detections based onthe determined consistencies or inconsistencies and use the scores todetermine attributes for an object of interest. For example, attributedetermination facility 204 may rank detections according consistencyscores and may select, from the ranked detections, detections to beutilized in determining attributes of an object of interest and/orweights to be given to detections in determining attributes of theobject of interest based on the ranking of the detections. For example,in determining attributes of the object of interest, attributedetermination facility 204 may select and use detections with scoresthat satisfy a defined threshold level.

Attribute determination facility 204 may determine one or moreattributes for an object of interest based on selected detections (e.g.,detections selected based on outputs from one or more of the consistencychecks) of the object of interest in any suitable way. For example,attribute determination facility 204 may determine one or moreattributes for an object of interest based on one or more attributes ofthe selected detections that have been determined by a computer visionmodel. For instance, attribute determination facility 204 may utilizethe determined intersection for the selected detections to determine ageospatial position for the object of interest. The geospatial positionmay be a global positioning system (GPS) coordinate position, a latitudeand longitude position, or the like.

Attribute determination facility 204 may similarly utilize otherdetermined attributes of the selected detections to determine otherattributes for the object of interest. For example, attributedetermination facility 204 may utilize the determined class of theselected detections to determine a class and/or one or more otherattributes of the object of interest. In an example, attributedetermination facility 204 may utilize metadata for the selecteddetections to identify and use attributes of the selected detections todetermine one or more attributes (e.g., height, width, distance from acamera, line of sight from a roadway, number of detections, or the like)for the object of interest in the detections.

Assignment facility 206 shown in FIG. 2 may be configured to use thedetermined attributes of the object of interest (determined by attributedetermination facility 204) to select one or more attributes forinclusion in a dataset for the object of interest. Inclusion of theattributes in the dataset for the object of interest may effectivelyassign the attributes to the object of interest such that the attributesare available for access and use by a computing process accessing thedataset for the object of interest. The computing process may include orbe associated with any suitable application or service, such as ageographic mapping application or service. In an example, assignmentfacility 206 may select determined attributes in a dataset that may beutilized by geospatial image processing system 100 and/or by a user ofthe geospatial image processing system 100 of FIG. 1. Examples ofattributes that may be selected for inclusion in a dataset for an objectof interest may include, but are not limited to, a geospatial locationof the object of interest, a height of the object of interest, thenumber of correlated detections or consistent detections of the objectof interest, a material of composition of the object of interest, aclass of the object of interest, and/or information about any othercharacteristic of the object of interest.

FIG. 6 shows an exemplary graphical user interface view 600 indicatingattributes that have been assigned to a detected object of interest bysystem 100. As shown, the graphical user interface view 600 may includea map view 602 visually indicating a geospatial position 604 of anobject of interest. The graphical user interface view 600 may furtherinclude an overlay 606 indicating other attributes 608 assigned to theobject of interest, including the height of the object, the number ofdetections for the object, and a class of object (e.g., 9.4 meters, 5detections, and pole). In an example, a user may provide user input toselect different objects of interest within the map view 602 to have theattributes for that object of interest displayed in overlay 606.

Thus, returning to FIG. 2, facilities 202 through 206 may perform one ormore operations on data representing detections of an object of interestto correlate the detections, to determine one or more attributes for theobject of interest based on consistency checks for the correlateddetections, and to select the determined attributes for inclusion in adataset for the object of interest.

FIG. 7 illustrates an exemplary method 700 for detecting and assigningattributes to objects of interest in geospatial imagery. While FIG. 7illustrates exemplary operations according to one embodiment, otherembodiments may omit, add to, reorder, and/or modify any of theoperations shown in FIG. 7. One or more of the operations shown in FIG.7 may be performed by system 100 and/or post-processing system 200, anycomponents included therein, and/or any implementation thereof.

In operation 702, multiple detections of an object of interest depictedwithin a set of images of a geospatial location are correlated based ongeospatial data associated with the set of images. Operation 702 may beperformed in any of the ways described herein. In an example, ageospatial image processing system may correlate the detections byperforming any suitable number and/or combination of post-processingoperations on geospatial data associated with the detections within theset of images. The correlation post-processing operations may includeidentifying detections of potentially the same instance of an object ofinterest in the geospatial images of the geospatial location. Forexample, geospatial data associated with the geospatial images of thegeospatial location may be used to identify multiple detections thatintersect at a geospatial intersection. In certain examples, multipledetections that intersect at a geospatial intersection may be identifiedby performing one or more triangulation operations to determine that thegeospatial intersection corresponds to each of the multiple detections.The identified multiple detections may be selected for inclusion in acorrelated set of detections based on the multiple detectionsintersecting at the same geospatial intersection.

In an example, the correlating of the multiple detections may includepre-correlation filtering out certain detections based on predefinedcriteria, which may reduce the number of detections to be correlated.For example, detections with a confidence level that is below athreshold level may be filtered out prior to the correlation ofdetections. Detections with confidence levels below the threshold levelmay be filtered out because these detections may be determined to be toolow of quality to be used to accurately determine attributes for theobject of interest.

Additionally or alternatively, detections that do not have a detectedwidth above a predefined threshold level may be filtered out prior tothe correlation of detections. Detections with widths below thethreshold level may be filtered out because such widths may indicatethat the detections may be positioned too far from a camera thatcaptured the images to accurately determine attributes for the object ofinterest.

In operation 704, an attribute of the object of interest depicted withinthe set of images of the geospatial location is determined based on thecorrelated detections. Operation 704 may be performed in any of the waysdescribed herein. In an example, a geospatial image processing systemmay determine the attribute for the object of interest based onconsistent detections that are verified as true detections (e.g.,through corroboration of consistent detections) and selected for use indetermining the attribute for the object of interest.

In operation 706, the attribute is selected for inclusion in a datasetfor the object of interest. Operation 706 may be performed in any of theways described herein.

FIG. 8 illustrates an exemplary method 800 for detecting and assigningattributes to objects of interest in geospatial imagery. While FIG. 8illustrates exemplary operations according to one embodiment, otherembodiments may omit, add to, reorder, and/or modify any of theoperations shown in FIG. 8. One or more of the operations shown in FIG.8 may be performed by system 100 and/or post-processing system 200, anycomponents included therein, and/or any implementation thereof.

In operation 802, a determination is made whether a confidence level ofa detection included in a set of detections satisfies a thresholdconfidence level. If the confidence level for a detection does notsatisfy the threshold level, the detection is removed from the set ofdetections at operation 804. Otherwise, if the confidence levelsatisfies the threshold confidence level, the flow continues atoperation 808.

In operation 806, a determination is made whether a distance that theobject of interest represented by the detection is from a camerasatisfies a threshold distance. If the distance does not satisfy thethreshold distance (e.g., the distance is too far), the detection isremoved from the set of detections at operation 804. Otherwise, if thedistance satisfies the threshold distance, the flow continues atoperation 808.

In operation 808, detections that are included in the set of detectionsand not filtered out by operation 802 or 806 are used to detect anintersection for the detections. Operation 808 may be performed in anyof the ways described herein, such as by selecting, from the set ofdetections, a correlated set of detections based on the detections inthe correlated set having a common intersection. The detections may bedepicted within the set of images.

In operation 810, the detected intersection is assigned to thedetections in the correlated set of detections. Operation 810 may beperformed in any of the ways described herein. In certain examples,operations 802 through 810 may be performed by correlation facility 202in any manner described herein.

In certain examples, a set of detections may be filtered by one or morechecks. For example, in operation 812, the set of detections may befiltered based on an external data consistency check. In an example,external data may be received from a data source other than metadata forthe set of images in which the detections are made. The external datamay be used to check detections for consistency with the external data.In an example, any detections that are not consistent with the externaldata are filtered out of the set of detections in operation 812.

In operation 814, the set of detections may be filtered based on a sizeconsistency check. In an example, sizes of the detections may becompared to determine consistencies and/or inconsistencies between thedetections. The size consistency check may be performed in any mannerdescribed herein. Detections that do not have consistent sizes with theother detections in the set of detections may be filtered out inoperation 814.

In operation 816, the set of detections may be filtered based on a classconsistency check. In an example, assigned classes or types of theobject of interest in the detections may be compared, and detectionswith a class that is inconsistent with the class of the other detectionsmay be filtered out of the set of detections. The class consistencycheck may be performed in any manner described herein. Detections thatdo not have consistent classes with the other detections in the set ofdetections may be filtered out in operation 816.

Information about the detections filtered out or not filtered out inoperations 812, 814, and 816 may be provided to operation 808 to updatethe set of detections. In this manner, inconsistent detections may befiltered out to leave consistent detections to be used to determineattributes of the object of interest, including by detecting andassigning an intersection for the consistent detections in operations808 and 810. Operations 818 and 820 may then be performed afteroperation 810 has been performed.

In operation 818, a geospatial position for the object of interest isassigned. The geospatial position may be determined and assigned basedon the assigned intersection for the set of detections. In operation820, another attribute for the object of interest is determined andassigned based on determined attributes for the set of detections, whichattributes may be indicated by metadata for the set of detections. Incertain examples, operations 812, 814, 816, 818, and 820 may beperformed by attribute determination facility 204 and assignmentfacility 206 in any manner described herein.

As described herein, disclosed methods and systems may detect and assignattributes to objects of interest using multiple images captured fromdifferent camera viewpoints of a geospatial location. The cameraviewpoints may differ spatially in that the images of the geospatiallocation may be captured from different geospatial positions and/ororientations relative to a geospatial location and/or a detected objectof interest. In addition or alternate to differing spatially, in someexamples, the camera viewpoints may differ temporally in that the imagesof the geospatial location may be captured at different times. The timesmay differ by any suitable amount of time, such as by seconds, minutes,hours, days, weeks, months, etc.

In certain examples, methods and systems described herein may utilizeinformation about times that images of a geospatial location arecaptured to determine and assign attributes to objects of interestdetected in the images. For example, post-processing system 200 mayaccess and use metadata associated with a set of images to identify anduse capture times associated with the images to determine and assign anattribute to an object of interest depicted in one or more of theimages.

As an example, post-processing system 200 may determine that a detectedobject of interest is a transient object, such as by determining thatthe object of interest is detected in an image of a geospatial locationcaptured at one time but is not detected in an image of the geospatiallocation captured at a different time. In this example, post-processingsystem 200 may filter detections of the object of interest out of a setof detections associated with the geospatial location, flag the objectof interest as a transient or potentially transient object of interest,or perform one or more other actions in response to the determinationthat the object of interest is a transient object of interest.

As another example, post-processing system 200 may utilize capture timesfor images of a geospatial location to determine and assign attributesto objects of interest based on times of day that the images arecaptured. For instance, post-processing system 200 may utilizenight-time imagery to determine and/or verify attributes of objects ofinterest, particularly in cases in which the objects of interest includelights or are typically illuminated by lights at night (e.g., trafficlights, street lights, roadways, etc.) and/or in cases in which theobjects of interest do not include or are not typically illuminated bylights at night (e.g., farm land, trails, rivers, etc.).

As another example, post-processing system 200 may utilize images of ageospatial location captured at different times to determine attributesof objects of interest in cases in which the objects of interest changeover time. For instance, post-processing system 200 may utilize imagesof a geospatial location captured at different times to detectdifferences in a detected object of interest and to determine anattribute of the object of interest based on the detected differences ofthe object of interest over time. To illustrate, post-processing system200 may classify a detected object of interest as a tree or a deciduoustree based on changes to the canopy of the tree over seasons of theyear.

Attributes of an object of interest that are determined and assigned asdescribed herein may be used in various ways and in various applicationsand/or use cases. For example, determined attributes of an object ofinterest may be included in a dataset for the object of interest, andthe dataset may be used in various applications and/or use cases.

As an example, the dataset may be used by a mapping and/or navigationapplication to provide one or more features associated with the objectof interest, such as a search feature that includes the dataset in datasearched by a search engine and/or in the results produced by a searchof the data, a user interface feature that indicates attributes of theobject of interest in a graphical user interface view (e.g., a mapview), a recommendation feature that considers the dataset indetermining a recommendation (e.g., a recommended travel route, arecommended point of interest, etc.) to provide to a user, a navigationfeature that considers the dataset in determining a recommended oractual travel route, and/or another feature of the mapping and/ornavigation application.

As another example, the dataset may be used for planning and buildout ofinfrastructure in a geospatial location. For example, attributes of anobject of interest, as represented in the dataset, may indicate and/ormay be used to determine candidate geospatial locations forinfrastructure components to be deployed. Examples of suchinfrastructure components include, but are not limited to, trafficsignal components (e.g., traffic lights, signage, etc.), video and/oraudio capture components (e.g., traffic cameras), communication networkcomponents (e.g., wireless network components such as transceivers,antennae, etc.) for any suitable wireless network (e.g., a wireless widearea network, local area network, 5G network, Wi-Fi network, etc.),and/or parking components (e.g., parking spaces, meters, etc.).

In certain embodiments, one or more of the systems, components, and/orprocesses described herein may be implemented and/or performed by one ormore appropriately configured computing devices. To this end, one ormore of the systems and/or components described above may include or beimplemented by any computer hardware and/or computer-implementedinstructions (e.g., software) embodied on at least one non-transitorycomputer-readable medium configured to perform one or more of theprocesses described herein. In particular, system components may beimplemented on one physical computing device or may be implemented onmore than one physical computing device. Accordingly, system componentsmay include any number of computing devices, and may employ any of anumber of computer operating systems.

In certain embodiments, one or more of the processes described hereinmay be implemented at least in part as instructions embodied in anon-transitory computer-readable medium and executable by one or morecomputing devices. In general, a processor (e.g., a microprocessor)receives instructions, from a non-transitory computer-readable medium,(e.g., a memory, etc.), and executes those instructions, therebyperforming one or more processes, including one or more of the processesdescribed herein. Such instructions may be stored and/or transmittedusing any of a variety of known computer-readable media.

A computer-readable medium (also referred to as a processor-readablemedium) includes any non-transitory medium that participates inproviding data (e.g., instructions) that may be read by a computer(e.g., by a processor of a computer). Such a medium may take many forms,including, but not limited to, non-volatile media, and/or volatilemedia. Non-volatile media may include, for example, optical or magneticdisks and other persistent memory. Volatile media may include, forexample, dynamic random access memory (“DRAM”), which typicallyconstitutes a main memory. Common forms of computer-readable mediainclude, for example, a disk, hard disk, magnetic tape, any othermagnetic medium, a compact disc read-only memory (“CD-ROM”), a digitalvideo disc (“DVD”), any other optical medium, random access memory(“RAM”), programmable read-only memory (“PROM”), electrically erasableprogrammable read-only memory (“EPROM”), FLASH-EEPROM, any other memorychip or cartridge, or any other tangible medium from which a computermay read.

FIG. 9 illustrates an exemplary computing device 900 that may bespecifically configured to perform one or more of the processesdescribed herein. As shown in FIG. 9, computing device 900 may include acommunication interface 902, a processor 904, a storage device 906, andan input/output (“I/O”) module 908 communicatively connected via acommunication infrastructure 910. While an exemplary computing device900 is shown in FIG. 9, the components illustrated in FIG. 9 are notintended to be limiting. Additional or alternative components may beused in other embodiments. Components of computing device 900 shown inFIG. 9 will now be described in additional detail.

Communication interface 902 may be configured to communicate with one ormore computing devices. Examples of communication interface 902 include,without limitation, a wired network interface (such as a networkinterface card), a wireless network interface (such as a wirelessnetwork interface card), a modem, an audio/video connection, and anyother suitable interface.

Processor 904 generally represents any type or form of processing unitcapable of processing data or interpreting, executing, and/or directingexecution of one or more of the instructions, processes, and/oroperations described herein. Processor 904 may direct execution ofoperations in accordance with one or more applications 912 or othercomputer-executable instructions such as may be stored in storage device906 or another computer-readable medium.

Storage device 906 may include one or more data storage media, devices,or configurations and may employ any type, form, and combination of datastorage media and/or device. For example, storage device 906 mayinclude, but is not limited to, a hard drive, network drive, flashdrive, magnetic disc, optical disc, RAM, dynamic RAM, other non-volatileand/or volatile data storage units, or a combination or sub-combinationthereof. Electronic data, including data described herein, may betemporarily and/or permanently stored in storage device 906. Forexample, data representative of one or more executable applications 912configured to direct processor 904 to perform any of the operationsdescribed herein may be stored within storage device 906. In someexamples, data may be arranged in one or more databases residing withinstorage device 906.

I/O module 908 may include one or more I/O modules configured to receiveuser input and provide user output. One or more I/O modules may be usedto receive input for a single virtual experience. I/O module 908 mayinclude any hardware, firmware, software, or combination thereofsupportive of input and output capabilities. For example, I/O module 908may include hardware and/or software for capturing user input,including, but not limited to, a keyboard or keypad, a touchscreencomponent (e.g., touchscreen display), a receiver (e.g., an RF orinfrared receiver), motion sensors, and/or one or more input buttons.

I/O module 908 may include one or more devices for presenting output toa user, including, but not limited to, a graphics engine, a display(e.g., a display screen), one or more output drivers (e.g., displaydrivers), one or more audio speakers, and one or more audio drivers. Incertain embodiments, I/O module 908 is configured to provide graphicaldata to a display for presentation to a user. The graphical data may berepresentative of one or more graphical user interfaces and/or any othergraphical content as may serve a particular implementation.

In some examples, any of the facilities described herein may beimplemented by or within one or more components of computing device 900.For example, one or more applications 912 residing within storage device906 may be configured to direct processor 904 to perform one or moreprocesses or functions associated with facilities 102 through 110 ofsystem 100 and/or facilities 210 through 218 of post-processing system200. Likewise, storage facility 110 of system 100 may be implemented byor within storage device 906.

To the extent the aforementioned embodiments collect, store, and/oremploy personal information provided by individuals, it should beunderstood that such information shall be used in accordance with allapplicable laws concerning protection of personal information.Additionally, the collection, storage, and use of such information maybe subject to consent of the individual to such activity, for example,through well known “opt-in” or “opt-out” processes as may be appropriatefor the situation and type of information. Storage and use of personalinformation may be in an appropriately secure manner reflective of thetype of information, for example, through various encryption andanonymization techniques for particularly sensitive information.

In the preceding description, various exemplary embodiments have beendescribed with reference to the accompanying drawings. It will, however,be evident that various modifications and changes may be made thereto,and additional embodiments may be implemented, without departing fromthe scope of the invention as set forth in the claims that follow. Forexample, certain features of one embodiment described herein may becombined with or substituted for features of another embodimentdescribed herein. The description and drawings are accordingly to beregarded in an illustrative rather than a restrictive sense.

What is claimed is:
 1. A method comprising: correlating, by apost-processing system based on geospatial data associated with a set ofimages of a geospatial location, multiple detections, made by a computervision model, of an object of interest depicted within the set of imagesof the geospatial location, the set of images including multiple imagescaptured from different camera viewpoints of the geospatial location;determining, by the post-processing system based on the correlateddetections, an attribute of the object of interest depicted within theset of images of the geospatial location; and selecting, by thepost-processing system, the attribute for inclusion in a dataset for theobject of interest.
 2. The method of claim 1, wherein the correlatingthe multiple detections comprises: determining that the multipledetections intersect at a geospatial intersection; and selecting themultiple detections for inclusion in a correlated set of detectionsbased on the multiple detections intersecting at the geospatialintersection.
 3. The method of claim 2, wherein the determining that themultiple detections intersect at the geospatial intersection comprisesperforming one or more triangulation operations to determine that thegeospatial intersection corresponds to each of the multiple detections.4. The method of claim 2, wherein the determining the attribute of theobject of interest based on the correlated detections comprises:determining a geospatial position of the object of interest based on thegeospatial intersection at which the correlated detections intersect. 5.The method of claim 1, wherein the determining the attribute of theobject of interest based on the correlated detections comprises:determining a consistency or an inconsistency across the correlateddetections; and determining the attribute of the object of interestbased on the consistency or the inconsistency across the correlateddetections.
 6. The method of claim 5, wherein the consistency or theinconsistency across the correlated detections comprises a consistencyor an inconsistency in at least one of an object class and an objectsize across the correlated detections.
 7. The method of claim 1, whereinthe determining the attribute of the object of interest based on thecorrelated detections comprises: determining a consistency or aninconsistency between a detection included in the correlated detectionsand geospatial data accessed from data source other than the set ofimages of the geospatial location; and determining the attribute of theobject of interest based on the consistency or the inconsistency betweenthe detection and the geospatial data accessed from the data sourceother than the set of images of the geospatial location.
 8. A systemcomprising: at least one physical computing device configured to:correlate, based on geospatial data associated with a set of images of ageospatial location, multiple detections, made by a computer visionmodel, of an object of interest depicted within the set of images of thegeospatial location, the set of images including multiple imagescaptured from different camera viewpoints of the geospatial location;determine, based on the correlated detections, an attribute of theobject of interest depicted within the set of images of the geospatiallocation; and select the attribute for inclusion in a dataset for theobject of interest.
 9. The system of claim 8, wherein the correlation ofthe multiple detections comprises: the at least one physical computingdevice is further configured to: determine that the multiple detectionsintersect at a geospatial intersection; and select the multipledetections for inclusion in a correlated set of detections based on themultiple detections intersecting at the geospatial intersection.
 10. Thesystem of claim 9, wherein the determination that the multipledetections intersect at the geospatial intersection comprises performingone or more triangulation operations to determine that the geospatialintersection corresponds to each of the multiple detections.
 11. Thesystem of claim 9, wherein the determination of the attribute of theobject of interest based on the correlated detections comprises: the atleast one physical computing device is further configured to: determinea geospatial position of the object of interest based on the geospatialintersection at which the correlated detections intersect.
 12. Thesystem of claim 8, wherein the determination of the attribute of theobject of interest based on the correlated detections comprises: the atleast one physical computing device is further configured to: determinea consistency or an inconsistency across the correlated detections; anddetermine the attribute of the object of interest based on theconsistency or the inconsistency across the correlated detections. 13.The system of claim 12, wherein the consistency or the inconsistencyacross the correlated detections comprises a consistency or aninconsistency in at least one of an object class and an object sizeacross the correlated detections.
 14. The system of claim 8, thedetermination of the attribute of the object of interest based on thecorrelated detections comprises: the at least one physical computingdevice is further configured to: determine a consistency or aninconsistency between a detection included in the correlated detectionsand geospatial data accessed from data source other than the set ofimages of the geospatial location; and determine the attribute of theobject of interest based on the consistency or the inconsistency betweenthe detection and the geospatial data accessed from the data sourceother than the set of images of the geospatial location.
 15. Anon-transitory computer-readable medium storing instructions that, whenexecuted, direct at least one processor of a computing device to:correlate, based on geospatial data associated with a set of images of ageospatial location, multiple detections, made by a computer visionmodel, of an object of interest depicted within the set of images of thegeospatial location, the set of images including multiple imagescaptured from different camera viewpoints of the geospatial location;determine, based on the correlated detections, an attribute of theobject of interest depicted within the set of images of the geospatiallocation; and select the attribute for inclusion in a dataset for theobject of interest.
 16. The computer-readable medium of claim 15,wherein the correlation of the multiple detections comprises:instructions, when executed, direct the at least one processor of thecomputing device to: determine that the multiple detections intersect ata geospatial intersection; and select the multiple detections forinclusion in a correlated set of detections based on the multipledetections intersecting at the geospatial intersection.
 17. Thecomputer-readable medium of claim 16, wherein the determination that themultiple detections intersect at the geospatial intersection comprisesperforming one or more triangulation operations to determine that thegeospatial intersection corresponds to each of the multiple detections.18. The computer-readable medium of claim 16, wherein the determinationof the attribute of the object of interest based on the correlateddetections comprises: instructions, when executed, direct the at leastone processor of the computing device to: determine a geospatialposition of the object of interest based on the geospatial intersectionat which the correlated detections intersect.
 19. The computer-readablemedium of claim 15, wherein the determination of the attribute of theobject of interest based on the correlated detections comprises:instructions, when executed, direct the at least one processor of thecomputing device to: determine a consistency or an inconsistency acrossthe correlated detections; and determine the attribute of the object ofinterest based on the consistency or the inconsistency across thecorrelated detections.
 20. The computer-readable medium of claim 19, thedetermination of the attribute of the object of interest based on thecorrelated detections comprises: instructions, when executed, direct theat least one processor of the computing device to: determine aconsistency or an inconsistency between a detection included in thecorrelated detections and geospatial data accessed from data sourceother than the set of images of the geospatial location; and determinethe attribute of the object of interest based on the consistency or theinconsistency between the detection and the geospatial data accessedfrom the data source other than the set of images of the geospatiallocation.